package com.ruoyi.news.service.impl;

import java.util.List;

import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.news.mapper.NewsTypeMapper;
import com.ruoyi.news.domain.NewsType;
import com.ruoyi.news.service.INewsTypeService;
import com.ruoyi.common.core.text.Convert;

/**
 * 新闻类别Service业务层处理
 *
 * @author ruoyi
 * @date 2025-05-13
 */
@Service
public class NewsTypeServiceImpl implements INewsTypeService {
    @Autowired
    private NewsTypeMapper newsTypeMapper;

    /**
     * 查询新闻类别
     *
     * @param id 新闻类别主键
     * @return 新闻类别
     */
    @Override
    public NewsType selectNewsTypeById(Long id) {
        return newsTypeMapper.selectNewsTypeById(id);
    }

    /**
     * 查询新闻类别列表
     *
     * @param newsType 新闻类别
     * @return 新闻类别
     */
    @Override
    public List<NewsType> selectNewsTypeList(NewsType newsType) {
        return newsTypeMapper.selectNewsTypeList(newsType);
    }

    /**
     * 查询全部新闻类别列表
     *
     * @return 新闻类别集合
     */
    @Override
    public List<NewsType> selectAllNewsType() {
        NewsType newsType = new NewsType();
        newsType.setStatus("0");
        return selectNewsTypeList(newsType);
    }

    /**
     * 新增新闻类别
     *
     * @param newsType 新闻类别
     * @return 结果
     */
    @Override
    public int insertNewsType(NewsType newsType) {
        newsType.setCreateTime(DateUtils.getNowDate());
        return newsTypeMapper.insertNewsType(newsType);
    }

    /**
     * 修改新闻类别
     *
     * @param newsType 新闻类别
     * @return 结果
     */
    @Override
    public int updateNewsType(NewsType newsType) {
        newsType.setUpdateTime(DateUtils.getNowDate());
        return newsTypeMapper.updateNewsType(newsType);
    }

    /**
     * 批量删除新闻类别
     *
     * @param ids 需要删除的新闻类别主键
     * @return 结果
     */
    @Override
    public int deleteNewsTypeByIds(String ids) {
        return newsTypeMapper.deleteNewsTypeByIds(Convert.toStrArray(ids));
    }

    /**
     * 删除新闻类别信息
     *
     * @param id 新闻类别主键
     * @return 结果
     */
    @Override
    public int deleteNewsTypeById(Long id) {
        return newsTypeMapper.deleteNewsTypeById(id);
    }
}
